package com.ls.fw.data.search.impl.dao.test.dao;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.MatchAllDocsQuery;

import com.ls.fw.data.search.impl.dao.EntitySearchDaoImpl;
import com.ls.fw.index.test.model.Person;

/**
 * @author 李昇
 * 2014年4月13日 下午4:21:29
 */
public class PersonIndexDaoImpl extends EntitySearchDaoImpl<Person,Long> implements PersonIndexDao{

	
	private static final String indexFilePath;
	
	static{
		String dir = System.getProperty("user.dir");
		dir = dir+File.separator+"index"+File.separator+"person_index";;
		File file = new File(dir);
		if(!file.exists()){
			file.mkdirs();
		}
		indexFilePath = dir;
	}
	
	/**
	 * @author 李昇
	 * 2014年4月13日 下午4:24:12
	 * @param indexFilePath
	 * @throws IOException
	 */
	public PersonIndexDaoImpl() throws IOException {
		super(indexFilePath);
	}
	
	
	public List<Person> findAll(){
		BooleanQuery query = new BooleanQuery();
		query.add(new MatchAllDocsQuery(), BooleanClause.Occur.MUST);
		return (List<Person>) this.query(query, null, 1, 10, false).getList();
	}
}
